home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / FORTRAN1.LZH / CENTER.FOR < prev    next >
Text File  |  1988-02-08  |  2KB  |  92 lines

  1.       SUBROUTINE CENTER ( STRING )
  2. C*
  3. C*                  *******************************
  4. C*                  *******************************
  5. C*                  **                           **
  6. C*                  **          CENTER           **
  7. C*                  **                           **
  8. C*                  *******************************
  9. C*                  *******************************
  10. C*
  11. C*     SUBPROGRAM :
  12. C*          CENTER
  13. C*
  14. C*     AUTHOR :
  15. C*          ART RAGOSTA
  16. C*          MS 207-5
  17. C*          AMES RESEARCH CENTER
  18. C*          MOFFETT FIELD, CA  94035
  19. C*          (415) 694-5578
  20. C*
  21. C*     PURPOSE :
  22. C*          TO REPLACE A STRING WITH THE SAME STRING, CENTERED
  23. C*          AROUND THE POINT (LENGTH/2).
  24. C*
  25. C*     INPUT ARGUMENTS :
  26. C*          STRING - INPUT STRING
  27. C*
  28. C*     OUTPUT ARGUMENTS :
  29. C*          STRING - OUTPUT STRING (INPLACE)
  30. C*
  31. C*     INTERNAL WORK AREAS :
  32. C*          LINE - TEMPORARY STORAGE FOR STRING
  33. C*
  34. C*     COMMON BLOCKS :
  35. C*          NONE
  36. C*
  37. C*     FILE REFERENCES :
  38. C*          NONE
  39. C*
  40. C*     DATA BASE ACCESS :
  41. C*          NONE
  42. C*
  43. C*     SUBPROGRAM REFERENCES :
  44. C*          LEFT, LENGTH
  45. C*
  46. C*     ERROR PROCESSING :
  47. C*          NONE
  48. C*
  49. C*     TRANSPORTABILITY LIMITATIONS :
  50. C*          NONE
  51. C*
  52. C*     ASSUMPTIONS AND RESTRICTIONS :
  53. C*          LEN(STRING) <= 255
  54. C*
  55. C*     LANGUAGE AND COMPILER :
  56. C*          ANSI FORTRAN 77
  57. C*
  58. C*     VERSION AND DATE :
  59. C*          VERSION I.0     15-OCT-84
  60. C*
  61. C*     CHANGE HISTORY :
  62. C*          15-OCT-84    INITIAL VERSION
  63. C*
  64. C***********************************************************************
  65. C*
  66.       CHARACTER *(*) STRING
  67.       CHARACTER *255 LINE
  68. C
  69. C --- 'LINE' IS THE ORIGINAL STRING
  70. C --- 'STRING' WILL BE THE NEW STRING
  71. C --- 'LL' IS THE LENGTH OF THE TEXT TO BE CENTERED
  72. C --- 'N' IS THE NUMBER OF BLANKS TO BE INSERTED BEFORE THE TEXT
  73. C
  74.       LINE = STRING
  75.       CALL LEFT ( LINE )
  76.       LL   = LENGTH ( LINE )
  77.       N    = ( LEN(STRING) - LL ) / 2
  78.       IF ( N .EQ. 0 ) RETURN
  79. C
  80. C --- SET ENTIRE STRING BLANK (INCLUDING LEADING AND TRAILING PAD)
  81. C
  82.       STRING = ' '
  83. C
  84. C --- COPY TEXT INTO PROPER LOCATION
  85. C
  86.       STRING(N+1:N+LL) = LINE(1:LL)
  87.       RETURN
  88.       END
  89. C
  90. C---END CENTER
  91. C
  92.